package com.service.healthycode.service;

import com.service.config.utils.Result;
import com.service.healthycode.dto.InfoDeclareDto;
import com.service.healthycode.dto.SmsCode;
import com.service.healthycode.entity.InfoDeclare;

/**
 * @author: hjl
 * @date: 2022/05/12 18:26
 * @description:
 */
public interface InfoDeclareService {
    /**
     * 填写信息申报信息
     * @param infoDeclareDto 申报信息
     * @return 结果集
     */
    Result addInfoDeclare(InfoDeclareDto infoDeclareDto, String uId) throws Exception;

    /**
     * 查询用户最近一次的申报信息
     * @param userId 用户id
     * @return 申报信息
     */
    InfoDeclare queryInfoDeclare(String userId);

    /**
     * 查询用户申报信息是否过期
     * @param userId 用户id
     * @return 结果集
     */
    Result queryInfoExpired(String userId);

    /**
     * 更新信息申报
     * @param infoDeclare 申报信息
     * @param id 用户id
     * @return 结果集
     */
    Result updateInfoDeclare(InfoDeclareDto infoDeclare, String id) throws Exception;

    /**
     * 发送短信
     * @param smsCode
     * @return
     */
    Result sendSms(SmsCode smsCode);

    /**
     * 查询用户健康码状态
     * @param terminalMac
     * @param userId
     * @return
     */
    Result queryStatus(String terminalMac, String userId);
}
